﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;
using System.IO;

namespace InfoWykaz
{
    public partial class MainForm : Form
    {

        public MainForm()
        {
            InitializeComponent();
        }



        private void wykz1ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            /*
             *      Pacjenci który zostali przyjęci do szpitala
             *      wiecej niz raz w odstepie x dni
             */
            PacjenciPrzyjeciPonownieXDni wykaz = new PacjenciPrzyjeciPonownieXDni();
            wykaz.ShowDialog();
            DataTable wykazData = wykaz.result();
            if (wykazData != null) this.dataGridView1.DataSource = wykazData;

        }

        //wczytanie opcji
        private void Form1_Load(object sender, EventArgs e)
        {
            DateTime licencja = new DateTime(2011, 12, 31);
            TimeSpan span = licencja - DateTime.Now;
            if (span.TotalDays < 0)
            {
                MessageBox.Show("Brak licencji na program!");
                this.Close();
            }
            if (span.TotalDays < 14) MessageBox.Show(string.Format("Licencja wygasa za : {0} dni.", span.TotalDays));
        }

        //wyswietlenie opcji
        private void opcjeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Options opcje = new Options();
            opcje.ShowDialog();
        }

        //zapis grida do csv
        private void eksportDoCSVToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.dataGridView1.Rows.Count > 0)
            {
                string data = string.Empty;
                for (int col = 0; col < this.dataGridView1.ColumnCount; col++)
                {
                    data += string.Format("{0};", this.dataGridView1.Columns[col].Name);
                }
                data += Environment.NewLine;
                for (int row = 0; row < this.dataGridView1.Rows.Count; row++)
                {
                    for (int col = 0; col < this.dataGridView1.ColumnCount; col++)
                    {
                        data += string.Format("{0};", this.dataGridView1.Rows[row].Cells[col].FormattedValue);
                    }
                    data += Environment.NewLine;
                }
                try
                {
                    using (SaveFileDialog sfd = new SaveFileDialog() { Filter = "CSV file (*.csv)|*.csv" })
                    {
                        if (sfd.ShowDialog() == DialogResult.OK)
                        {
                            if (sfd.FileName != null)
                            {
                                using (StreamWriter sw = new StreamWriter(sfd.FileName,false,Encoding.UTF8))
                                {
                                    sw.Write(data);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(string.Format("Błąd podczas zapisu! Error: {0}.", ex));
                }
            }
            else MessageBox.Show("Brak danych!");
        }

    }
}
